/* debug.c for !ResCreate */


#include "main.h"



#if DEBUG

static FILE *f = NULL;


void debug_file (char *filename)
{
    if (f)
        fclose (f);
    if (filename)
        f = fopen (filename, "w");
}


int dprintf (char *format, ...)
{
    int ret = 0;
    va_list list;

    va_start (list, format);
    ret = vfprintf(f ? f : stdout, format, list);
    va_end(list);

    if (f)
        fflush(f);

    return ret;
}


void display (char *format, ...)

  /* like printf, but displays the result in a wimp "error" box */

{
    char s[256];
    va_list ap;
    error e;

    va_start (ap, format);
    vsprintf (s, format, ap);
    va_end (ap);

    e.errnum = 0;
    strcpy (e.errmess, s);

    _swi ( Wimp_ReportError, I0|I1|I2,
              (int)&e,
              1+16,          /* just an OK button, omit "Error from" */
              "Debug" );

    return;
}


#endif
